import syncMode from "../img/1.reactConcurrent/syncMode.png";
import concurrentLayout from "../img/1.reactConcurrent/concurrentLayout.png";

import minHeap from "../img/2.scheduler/minHeap.png";
import schedulerMain from "../img/2.scheduler/schedulerMain.png";
import unstable_scheduleCallback from "../img/2.scheduler/unstable_scheduleCallback.png";
import performWorkUntilDeadline from "../img/2.scheduler/performWorkUntilDeadline.png";
import workLoop from "../img/2.scheduler/workLoop.png";
import schedulerPngConsult from "../img/2.scheduler/schedulerPngConsult.png";

import fiberTree from "../img/3.reactRender/reactRender(1)/fiber树.png";
import renderFiberTree from "../img/3.reactRender/reactRender(1)/jsx转为fiber树.png";
import firstRenderFirstStep from "../img/3.reactRender/reactRender(1)/首次渲染第一步.png";
import firstToLeaf from "../img/3.reactRender/reactRender(1)/第一次到树叶.png";
import firstBackComplete from "../img/3.reactRender/reactRender(1)/第一次回溯complete.png";

import beforeFirstSetState from "../img/3.demo/第一次调用setState前的树.png";
import afterFirstSetState from "../img/3.demo/第一次setState后的树.png";
import beforeSecondSetState from "../img/3.demo/第二次setState并且render前.png";
import afterBailOutHook from "../img/3.demo/bailOutHook后.png";
import moreSetState from "../img/3.demo/多次setState流程图.png";

import newHamt from "../img/recoil/hamt/新建hamt.png";
import insertTwoIndex from "../img/recoil/hamt/Index两节点.png";
import hamtClone from "../img/recoil/hamt/clone后.png";
import setHamtAfterClone from "../img/recoil/hamt/clone后set新树.png";
import wholeHamt from "../img/recoil/hamt/hamt完整树.png";


export const imgData = [
    {
        img: concurrentLayout,
        title: 'concurrent大体图',
        cols: 1,
    },
    {
        img: syncMode,
        title: 'sync模式',
        cols: 2,
    },
    {
        img: minHeap,
        title: '最小堆代码概览',
        cols: 2,
    },
    {
        img: schedulerMain,
        title: '调度实现概览',
        cols: 1,
    },
    {
        img: unstable_scheduleCallback,
        title: 'unstable_scheduleCallback流程图',
        cols: 1,
    },
    {
        img: performWorkUntilDeadline,
        title: 'performWorkUntilDeadline流程图',
        cols: 1,
    },
    {
        img: workLoop,
        title: 'workLoop流程图',
        cols: 1,
    },
    {
        img: schedulerPngConsult,
        title: 'scheduler总结流程图',
        cols: 1,
    },
    {
        img: fiberTree,
        title: 'commit完成后的fiber树概览',
        cols: 1,
    },
    {
        img: renderFiberTree,
        title: 'render完成后的fiber树概览',
        cols: 1,
    },

    {
        img: firstRenderFirstStep,
        title: '首次渲染第一步',
        cols: 1,
    },
    {
        img: firstToLeaf,
        title: '首次渲染第一次到树叶',
        cols: 1,
    },
    {
        img: firstBackComplete,
        title: '首次渲染第一次到树叶并且完成completeUnitOfWork',
        cols: 1
    },

    {
        img: beforeFirstSetState,
        title: '第一次调用setState前的树',
        cols: 1,
    },
    {
        img: afterFirstSetState,
        title: '第一次setState后的树',
        cols: 1,
    },
    {
        img: beforeSecondSetState,
        title: '第二次setState并且render前',
        cols: 1,
    },
    {
        img: afterBailOutHook,
        title: 'bailOutHook后',
        cols: 1,
    },
    {
        img: moreSetState,
        title: '多次setState流程图',
        cols: 1,
    },
    {
        img: newHamt,
        title: '新建hamt树',
        cols: 1,
    },
    {
        img: insertTwoIndex,
        title: '插入两个节点后的hamt树',
        cols: 1,
    },
    {
        img: hamtClone,
        title: '克隆hamt树',
        cols: 1,
    },
    {
        img: setHamtAfterClone,
        title: '克隆hamt树后插入新节点',
        cols: 1,
    },
    {
        img: wholeHamt,
        title: '完整的hamt树',
        cols: 1,
    },
];